/**
 * 炸弹构造函数
 * @param {string} name - 炸弹名称（用于区分不同炸弹）
 */
function Bomb(name) {
    this.name = name;
    this.timerId = null; // 存储定时器ID，用于取消定时器
  }
  
  /**
   * 启动炸弹（3秒后爆炸）
   */
  Bomb.prototype.start = function () {
    console.log(`💣 ${this.name} 已启动，3秒后爆炸...`);
    // 设置3秒定时器（1秒=1000毫秒）
    this.timerId = setTimeout(() => {
      console.log(`💥 ${this.name} 爆炸了！`);
    }, 3000);
  };
  
  /**
   * 取消炸弹（清除定时器）
   */
  Bomb.prototype.clear = function () {
    if (this.timerId) {
      clearTimeout(this.timerId); // 清除定时器
      console.log(`✅ ${this.name} 已取消，不会爆炸`);
      this.timerId = null; // 重置定时器ID
    }
  };
  
  // 实例化两个炸弹对象
  const b1 = new Bomb('炸弹1号');
  const b2 = new Bomb('炸弹2号');
  
  // 启动两个炸弹
  b1.start();
  b2.start();
  
  // 1秒后取消b2
  setTimeout(() => {
    b2.clear();
  }, 1000);
  
  /* 输出结果：
  💣 炸弹1号 已启动，3秒后爆炸...
  💣 炸弹2号 已启动，3秒后爆炸...
  ✅ 炸弹2号 已取消，不会爆炸
  💥 炸弹1号 爆炸了！
  */